package com.zh.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.blog.dto.PhotoAlbumBackDto;
import com.zh.blog.dto.PhotoAlbumDto;
import com.zh.blog.model.PhotoAlbum;
import com.zh.blog.vo.ConditionVO;
import com.zh.blog.vo.PageResult;
import com.zh.blog.vo.PhotoAlbumVO;

import java.util.List;

/**
 * 相册服务
 * @author ZhengHao
 * Created At 2022/8/11.
 **/
public interface PhotoAlbumService extends IService<PhotoAlbum> {

    /**
     * 保存或者更新相册
     * @param photoAlbumVO
     */
    void saveOrUpdatePhotoAlbum(PhotoAlbumVO photoAlbumVO);

    /**
     * 查看后台相册列表
     * @param conditionVO 条件
     * @return 相册列表
     */
    PageResult<PhotoAlbumBackDto> listPhotoAlbumBacks(ConditionVO conditionVO);

    /**
     * 根据ID删除相册
     * @param albumId
     */
    void deletePhotoAlbumById(Integer albumId);

    /**
     * 根据ID获取相册信息
     * @param albumId 相册ID
     * @return 相册信息
     */
    PhotoAlbumBackDto getPhotoAlbumBackById(Integer albumId);

    /**
     * 获取后台相册列表信息
     * @return 相册列表信息
     */
    List<PhotoAlbumDto> listPhotoAlbumBackInfos();

    /**
     * 获取相册列表
     * @return 相册列表
     */
    List<PhotoAlbumDto> listPhotoAlbums();
}